#include "ngram.h"

#include <string>
using namespace std;
#include <fstream>
#include "Tupla.h"
class unigrama : public ngram
{

    public:
	static estructuraAuxiliar estructuraAsociada;
        unigrama();
        unigrama(string termino);
        ~unigrama();

        static const char* RUTA_ARCHIVO_UNIGRAMAS;

        static void UnificarArchivos();
        static unigrama* unigramasDeTupla(Tupla tupla);
        static void agregarUnigramasDeTupla(Tupla tupla);
        static void instertarUnigramasDeTupla(Tupla tupla);
        static void setearMaximaCantidadEnEstructurasAsociadas(int maxNGramas=0);

        static void recolectarDatosDeBigramas();
        static void recolectarDatosReordenados();

        static void dumpEstructurasAsociadas();
    private:
        static fstream archivoUnigramas;
        static void recolectarDatosDeBigramasDesdeArchivo();
        static string construirRepresentacion (string termino1,  unsigned long int freq, unsigned long int distintosConFreq1, unsigned long int distintosConFreq2, unsigned long int distintosConFreq2oMas,unsigned long int trigramasDistintosMedio,unsigned long int unigramasDistintosAntes);
        static void recolectarDatosDeBigramasReordenadosDesdeArchivo();
        static void recolectarDatosDeTrigramasReordenadosDesdeArchivo();
};
//estructuraAuxiliar unigrama::estructuraAsociada = *(new estructuraAuxiliar(1));
